Autogenerated HTML docs for v2.30.1-489-g328c10
diff --git a/RelNotes/2.31.0.txt b/RelNotes/2.31.0.txt index 39efc41..aae9204 100644 --- a/RelNotes/2.31.0.txt +++ b/RelNotes/2.31.0.txt
@@ -136,6 +136,9 @@ * Get rid of "GETTEXT_POISON" support altogether, which may or may not be controversial. + * Introduce an on-disk file to record revindex for packdata, which + traditionally was always created on the fly and only in-core. + Fixes since v2.30 ----------------- @@ -188,5 +191,23 @@ processing. This has been corrected. (merge f7d42ceec5 js/rebase-i-commit-cleanup-fix later to maint). + * Fix in passing custom args from "git clone" to "upload-pack" on the + other side. + (merge ad6b5fefbd jv/upload-pack-filter-spec-quotefix later to maint). + + * The command line completion (in contrib/) completed "git branch -d" + with branch names, but "git branch -D" offered tagnames in addition, + which has been corrected. "git branch -M" had the same problem. + (merge 27dc071b9a jk/complete-branch-force-delete later to maint). + + * When commands are started from a subdirectory, they may have to + compare the path to the subdirectory (called prefix and found out + from $(pwd)) with the tracked paths. On macOS, $(pwd) and + readdir() yield decomposed path, while the tracked paths are + usually normalized to the precomposed form, causing mismatch. This + has been fixed by taking the same approach used to normalize the + command line arguments. + (merge 5c327502db tb/precompose-prefix-too later to maint). + * Other code cleanup, docfix, build fix, etc. (merge e3f5da7e60 sg/t7800-difftool-robustify later to maint).
diff --git a/git-branch.html b/git-branch.html index fe4873b..2026c29 100644 --- a/git-branch.html +++ b/git-branch.html
@@ -814,8 +814,8 @@ renaming. If <newbranch> exists, -M must be used to force the rename to happen.</p></div> <div class="paragraph"><p>The <code>-c</code> and <code>-C</code> options have the exact same semantics as <code>-m</code> and -<code>-M</code>, except instead of the branch being renamed it along with its -config and reflog will be copied to a new name.</p></div> +<code>-M</code>, except instead of the branch being renamed, it will be copied to a +new name, along with its config and reflog.</p></div> <div class="paragraph"><p>With a <code>-d</code> or <code>-D</code> option, <code><branchname></code> will be deleted. You may specify more than one branch for deletion. If the branch currently has a reflog then the reflog will also be deleted.</p></div> @@ -1397,7 +1397,7 @@ <div id="footer"> <div id="footer-text"> Last updated - 2020-11-11 14:07:52 PST + 2021-02-12 14:43:56 PST </div> </div> </body>
diff --git a/git-branch.txt b/git-branch.txt index adaa178..eb815c2 100644 --- a/git-branch.txt +++ b/git-branch.txt
@@ -78,8 +78,8 @@ to happen. The `-c` and `-C` options have the exact same semantics as `-m` and -`-M`, except instead of the branch being renamed it along with its -config and reflog will be copied to a new name. +`-M`, except instead of the branch being renamed, it will be copied to a +new name, along with its config and reflog. With a `-d` or `-D` option, `<branchname>` will be deleted. You may specify more than one branch for deletion. If the branch currently
diff --git a/git-config.html b/git-config.html index 2371d2d..c7ea364 100644 --- a/git-config.html +++ b/git-config.html
@@ -7954,6 +7954,18 @@ </p> </dd> <dt class="hdlist1"> +pack.writeReverseIndex +</dt> +<dd> +<p> + When true, git will write a corresponding .rev file (see: + <a href="../technical/pack-format.html">Documentation/technical/pack-format.txt</a>) + for each new packfile that it writes in all places except for + <a href="git-fast-import.html">git-fast-import(1)</a> and in the bulk checkin mechanism. + Defaults to false. +</p> +</dd> +<dt class="hdlist1"> pager.<cmd> </dt> <dd>
diff --git a/git-index-pack.html b/git-index-pack.html index a36e362..4cf02f2 100644 --- a/git-index-pack.html +++ b/git-index-pack.html
@@ -749,9 +749,9 @@ <h2 id="_synopsis">SYNOPSIS</h2> <div class="sectionbody"> <div class="verseblock"> -<pre class="content"><em>git index-pack</em> [-v] [-o <index-file>] <pack-file> +<pre class="content"><em>git index-pack</em> [-v] [-o <index-file>] [--[no-]rev-index] <pack-file> <em>git index-pack</em> --stdin [--fix-thin] [--keep] [-v] [-o <index-file>] - [<pack-file>]</pre> + [--[no-]rev-index] [<pack-file>]</pre> <div class="attribution"> </div></div> </div> @@ -760,9 +760,10 @@ <h2 id="_description">DESCRIPTION</h2> <div class="sectionbody"> <div class="paragraph"><p>Reads a packed archive (.pack) from the specified file, and -builds a pack index file (.idx) for it. The packed archive -together with the pack index can then be placed in the -objects/pack/ directory of a Git repository.</p></div> +builds a pack index file (.idx) for it. Optionally writes a +reverse-index (.rev) for the specified pack. The packed +archive together with the pack index can then be placed in +the objects/pack/ directory of a Git repository.</p></div> </div> </div> <div class="sect1"> @@ -791,6 +792,18 @@ </p> </dd> <dt class="hdlist1"> +--[no-]rev-index +</dt> +<dd> +<p> + When this flag is provided, generate a reverse index + (a <code>.rev</code> file) corresponding to the given pack. If + <code>--verify</code> is given, ensure that the existing + reverse index is correct. Takes precedence over + <code>pack.writeReverseIndex</code>. +</p> +</dd> +<dt class="hdlist1"> --stdin </dt> <dd> @@ -941,7 +954,7 @@ <div id="footer"> <div id="footer-text"> Last updated - 2020-08-24 15:54:20 PDT + 2021-02-12 14:43:56 PST </div> </div> </body>
diff --git a/git-index-pack.txt b/git-index-pack.txt index af0c262..69ba904 100644 --- a/git-index-pack.txt +++ b/git-index-pack.txt
@@ -9,17 +9,18 @@ SYNOPSIS -------- [verse] -'git index-pack' [-v] [-o <index-file>] <pack-file> +'git index-pack' [-v] [-o <index-file>] [--[no-]rev-index] <pack-file> 'git index-pack' --stdin [--fix-thin] [--keep] [-v] [-o <index-file>] - [<pack-file>] + [--[no-]rev-index] [<pack-file>] DESCRIPTION ----------- Reads a packed archive (.pack) from the specified file, and -builds a pack index file (.idx) for it. The packed archive -together with the pack index can then be placed in the -objects/pack/ directory of a Git repository. +builds a pack index file (.idx) for it. Optionally writes a +reverse-index (.rev) for the specified pack. The packed +archive together with the pack index can then be placed in +the objects/pack/ directory of a Git repository. OPTIONS @@ -35,6 +36,13 @@ fails if the name of packed archive does not end with .pack). +--[no-]rev-index:: + When this flag is provided, generate a reverse index + (a `.rev` file) corresponding to the given pack. If + `--verify` is given, ensure that the existing + reverse index is correct. Takes precedence over + `pack.writeReverseIndex`. + --stdin:: When this flag is provided, the pack is read from stdin instead and a copy is then written to <pack-file>. If
diff --git a/howto/keep-canonical-history-correct.html b/howto/keep-canonical-history-correct.html index 3e28924..5ba6c53 100644 --- a/howto/keep-canonical-history-correct.html +++ b/howto/keep-canonical-history-correct.html
@@ -938,7 +938,7 @@ <div id="footer"> <div id="footer-text"> Last updated - 2021-02-11 14:47:54 PST + 2021-02-12 14:44:47 PST </div> </div> </body>
diff --git a/howto/maintain-git.html b/howto/maintain-git.html index b646e7a..f1b6fb8 100644 --- a/howto/maintain-git.html +++ b/howto/maintain-git.html
@@ -1469,7 +1469,7 @@ <div id="footer"> <div id="footer-text"> Last updated - 2021-02-11 14:47:55 PST + 2021-02-12 14:44:47 PST </div> </div> </body>
diff --git a/howto/new-command.html b/howto/new-command.html index 222f2d7..92ebbe1 100644 --- a/howto/new-command.html +++ b/howto/new-command.html
@@ -863,7 +863,7 @@ <div id="footer"> <div id="footer-text"> Last updated - 2021-02-11 14:47:51 PST + 2021-02-12 14:44:44 PST </div> </div> </body>
diff --git a/howto/rebase-from-internal-branch.html b/howto/rebase-from-internal-branch.html index d4765c2..7d34a28 100644 --- a/howto/rebase-from-internal-branch.html +++ b/howto/rebase-from-internal-branch.html
@@ -895,7 +895,7 @@ <div id="footer"> <div id="footer-text"> Last updated - 2021-02-11 14:47:54 PST + 2021-02-12 14:44:47 PST </div> </div> </body>
diff --git a/howto/rebuild-from-update-hook.html b/howto/rebuild-from-update-hook.html index 43e2787..7d29851 100644 --- a/howto/rebuild-from-update-hook.html +++ b/howto/rebuild-from-update-hook.html
@@ -847,7 +847,7 @@ <div id="footer"> <div id="footer-text"> Last updated - 2021-02-11 14:47:54 PST + 2021-02-12 14:44:47 PST </div> </div> </body>
diff --git a/howto/recover-corrupted-blob-object.html b/howto/recover-corrupted-blob-object.html index 925c8d7..a6440b6 100644 --- a/howto/recover-corrupted-blob-object.html +++ b/howto/recover-corrupted-blob-object.html
@@ -880,7 +880,7 @@ <div id="footer"> <div id="footer-text"> Last updated - 2021-02-11 14:47:54 PST + 2021-02-12 14:44:46 PST </div> </div> </body>
diff --git a/howto/recover-corrupted-object-harder.html b/howto/recover-corrupted-object-harder.html index 3f1cec3..8894a12 100644 --- a/howto/recover-corrupted-object-harder.html +++ b/howto/recover-corrupted-object-harder.html
@@ -1189,7 +1189,7 @@ <div id="footer"> <div id="footer-text"> Last updated - 2021-02-11 14:47:54 PST + 2021-02-12 14:44:47 PST </div> </div> </body>
diff --git a/howto/revert-a-faulty-merge.html b/howto/revert-a-faulty-merge.html index ac5cdee..b5058f7 100644 --- a/howto/revert-a-faulty-merge.html +++ b/howto/revert-a-faulty-merge.html
@@ -1025,7 +1025,7 @@ <div id="footer"> <div id="footer-text"> Last updated - 2021-02-11 14:47:53 PST + 2021-02-12 14:44:46 PST </div> </div> </body>
diff --git a/howto/revert-branch-rebase.html b/howto/revert-branch-rebase.html index c68decb..caa1606 100644 --- a/howto/revert-branch-rebase.html +++ b/howto/revert-branch-rebase.html
@@ -907,7 +907,7 @@ <div id="footer"> <div id="footer-text"> Last updated - 2021-02-11 14:47:51 PST + 2021-02-12 14:44:44 PST </div> </div> </body>
diff --git a/howto/separating-topic-branches.html b/howto/separating-topic-branches.html index 8d8531d..c68ca2d 100644 --- a/howto/separating-topic-branches.html +++ b/howto/separating-topic-branches.html
@@ -841,7 +841,7 @@ <div id="footer"> <div id="footer-text"> Last updated - 2021-02-11 14:47:53 PST + 2021-02-12 14:44:46 PST </div> </div> </body>
diff --git a/howto/setup-git-server-over-http.html b/howto/setup-git-server-over-http.html index 1e09ede..0be7e8b 100644 --- a/howto/setup-git-server-over-http.html +++ b/howto/setup-git-server-over-http.html
@@ -1071,7 +1071,7 @@ <div id="footer"> <div id="footer-text"> Last updated - 2021-02-11 14:47:53 PST + 2021-02-12 14:44:45 PST </div> </div> </body>
diff --git a/howto/update-hook-example.html b/howto/update-hook-example.html index 67df6ed..078cb88 100644 --- a/howto/update-hook-example.html +++ b/howto/update-hook-example.html
@@ -930,7 +930,7 @@ <div id="footer"> <div id="footer-text"> Last updated - 2021-02-11 14:47:52 PST + 2021-02-12 14:44:45 PST </div> </div> </body>
diff --git a/howto/use-git-daemon.html b/howto/use-git-daemon.html index 3226e91..0ed84ba 100644 --- a/howto/use-git-daemon.html +++ b/howto/use-git-daemon.html
@@ -791,7 +791,7 @@ <div id="footer"> <div id="footer-text"> Last updated - 2021-02-11 14:47:52 PST + 2021-02-12 14:44:45 PST </div> </div> </body>
diff --git a/howto/using-merge-subtree.html b/howto/using-merge-subtree.html index 94f83b9..4260ec6 100644 --- a/howto/using-merge-subtree.html +++ b/howto/using-merge-subtree.html
@@ -848,7 +848,7 @@ <div id="footer"> <div id="footer-text"> Last updated - 2021-02-11 14:47:52 PST + 2021-02-12 14:44:44 PST </div> </div> </body>
diff --git a/howto/using-signed-tag-in-pull-request.html b/howto/using-signed-tag-in-pull-request.html index d498c9a..acc00d5 100644 --- a/howto/using-signed-tag-in-pull-request.html +++ b/howto/using-signed-tag-in-pull-request.html
@@ -952,7 +952,7 @@ <div id="footer"> <div id="footer-text"> Last updated - 2021-02-11 14:47:52 PST + 2021-02-12 14:44:44 PST </div> </div> </body>
diff --git a/technical/pack-format.html b/technical/pack-format.html index 47e7549..c8c0e37 100644 --- a/technical/pack-format.html +++ b/technical/pack-format.html
@@ -1126,6 +1126,49 @@ </div> </div> <div class="sect1"> +<h2 id="_pack_rev_files_have_the_format">pack-*.rev files have the format:</h2> +<div class="sectionbody"> +<div class="ulist"><ul> +<li> +<p> +A 4-byte magic number <em>0x52494458</em> (<em>RIDX</em>). +</p> +</li> +<li> +<p> +A 4-byte version identifier (= 1). +</p> +</li> +<li> +<p> +A 4-byte hash function identifier (= 1 for SHA-1, 2 for SHA-256). +</p> +</li> +<li> +<p> +A table of index positions (one per packed object, num_objects in + total, each a 4-byte unsigned integer in network order), sorted by + their corresponding offsets in the packfile. +</p> +</li> +<li> +<p> +A trailer, containing a: +</p> +<div class="literalblock"> +<div class="content"> +<pre><code>checksum of the corresponding packfile, and</code></pre> +</div></div> +<div class="literalblock"> +<div class="content"> +<pre><code>a checksum of all of the above.</code></pre> +</div></div> +</li> +</ul></div> +<div class="paragraph"><p>All 4-byte numbers are in network order.</p></div> +</div> +</div> +<div class="sect1"> <h2 id="_multi_pack_index_midx_files_have_the_following_format">multi-pack-index (MIDX) files have the following format:</h2> <div class="sectionbody"> <div class="paragraph"><p>The multi-pack-index files refer to multiple pack-files and loose objects.</p></div> @@ -1237,7 +1280,7 @@ <div id="footer"> <div id="footer-text"> Last updated - 2021-01-15 16:12:09 PST + 2021-02-12 14:43:56 PST </div> </div> </body>
diff --git a/technical/pack-format.txt b/technical/pack-format.txt index 96d2fc5..8833b71 100644 --- a/technical/pack-format.txt +++ b/technical/pack-format.txt
@@ -274,6 +274,26 @@ Index checksum of all of the above. +== pack-*.rev files have the format: + + - A 4-byte magic number '0x52494458' ('RIDX'). + + - A 4-byte version identifier (= 1). + + - A 4-byte hash function identifier (= 1 for SHA-1, 2 for SHA-256). + + - A table of index positions (one per packed object, num_objects in + total, each a 4-byte unsigned integer in network order), sorted by + their corresponding offsets in the packfile. + + - A trailer, containing a: + + checksum of the corresponding packfile, and + + a checksum of all of the above. + +All 4-byte numbers are in network order. + == multi-pack-index (MIDX) files have the following format: The multi-pack-index files refer to multiple pack-files and loose objects.